package main

import (
	"WebRTCDemo/config"
	"WebRTCDemo/webserver/route"
)

// /*
// #cgo CFLAGS: -I../ffmpeg_base/include
// #cgo LDFLAGS: -L../ffmpeg_base/lib -lffmpeg_base
// #cgo LDFLAGS: -Wl,-rpath="../ffmpeg_base/lib"
// #include "../ffmpeg_base/FFmpegVideoDecoder.h"
// #include "../ffmpeg_base/ffmpeg_base.h"
// */
// import "C"

func main() {
	// fp, err := os.Open("video_stream.mkv")
	// if err != nil {
	// 	fmt.Println(err)
	// }
	// defer fp.Close()

	// info, _ := fp.Stat()
	// buf := make([]uint8, info.Size())
	// size := (int32)(info.Size())

	// for {
	// 	lens, err := fp.Read(buf)
	// 	if err == io.EOF || lens < 0 {
	// 		break
	// 	}
	// }
	// fmt.Print(string(buf))
	// ret := C.FFmpeg_H264DecoderInit()
	// if ret != 0 {
	// 	fmt.Println("ffmpeg init failed")
	// }

	// var videoInfo [5]int32
	// var rgbBuf [640 * 480 * 3]uint8
	// C.FFmpeg_H264Decode((*C.uchar)((unsafe.Pointer(&buf[0]))), C.int32_t(size), (*C.int32_t)(unsafe.Pointer(&videoInfo[0])), (*C.uchar)(unsafe.Pointer(&rgbBuf[0])), nil)
	// C.save_image(C.CString("./test.jpg"), (*C.uchar)(unsafe.Pointer(&rgbBuf[0])), C.int(640), C.int(480))
	// C.FFmpeg_VideoDecoderRelease()

	router := route.Router()
	router.RunTLS(config.WebServerHostTLS, "ssl/server.crt", "ssl/server.key")
}
